/*
 * Copyright (C) 2009 2DAI
 *
 * Este programa es Software Libre; usted puede redistribuirlo
 * y/o modificarlo bajo los términos de la "GNU General Public
 * License" como lo publica la "FSF Free Software Foundation",
 * o (a su elección) de cualquier versión posterior.
 *
 * Este programa es distribuido con la esperanza de que le será
 * útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
 * implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
 * particular. Vea la "GNU General Public License" para más
 * detalles.
 *
 * Usted debe haber recibido una copia de la "GNU General Public
 * License" junto con este programa, si no, escriba a la "FSF
 * Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
 * Boston, MA  02111-1307, USA.
 */
package util;

import java.io.FileOutputStream;
import java.io.IOException;

import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;
import java.awt.Desktop;
import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author 2Dai
 * Realizado por Jorge Garrido Oval
 */

public class CrearPDF {
    private int numeroActa;

    public CrearPDF() {
    }

    public CrearPDF(String texto, int numeroActa) {
        this.numeroActa=numeroActa;
        // Crea el objeto de documento
        Document document = new Document();
        try {
                // Crea el escritor de documentos y lo redirecciona al documento
                PdfWriter.getInstance(document,
                                new FileOutputStream(System.getProperty("user.dir")+"Acta"+numeroActa+".pdf"));

                // Abre el documento
                document.open();
                // Aqui se añade un parrafo al documento
                document.add(new Paragraph(texto));
        } catch (DocumentException ex) {
                Errors.creaAdvertencia("Error en la creación del documento", ex.getStackTrace());
        } catch (IOException ex) {
                Errors.creaError("Error de entrada/salida en el pdf", ex.getStackTrace());
        }
        // Cerrar el documento
        document.close();
        //Aviso de creación correcta
        Errors.creaAdvertencia("El documento pdf ha sido generado con éxito.\n" +
                "Lo encontrará en la siguiente ruta:\n"+
                System.getProperty("user.dir")+"Acta"+numeroActa+".pdf\n" +
                "Seguidamente se mostrará el documento generado.", null);

    }

    /**
     * Abre el pdf con la aplicacion destinada a ello por defecto.
     */
    public void verPDF() {
        try {
            Desktop.getDesktop().open(new File(System.getProperty("user.dir") + "Acta" + numeroActa + ".pdf"));
        } catch (IOException ex) {
            Logger.getLogger(CrearPDF.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
